Читать онлайн книгу "Excel. Трюки и эффекты"

Excel. ????? ? ???????
??????? ??????????? ???????

????????? ??????????? ??????


?????? ????? ????????????? ??? ????????????? Microsoft Excel?? ???????? ???????? ??????? ? ??????? ??????, ??????? ??-?? ????? ????????????? ???????????? ???????????? (???? ?????? ?? ????????????) ? ????????????????, ?????????? ? ???? ??????????????? ????????????. ???????? ??????????? ? ????? ???????? ???????? ???????? ??????? ??? ???? ?? ????????? ????? ??????????? Excel. ???????????? ???????? ????? ??????????? ????????? ????, ??? ?????????? ????????? ? ???????? ??????.





??????? ??????????? ???????, ????????? ??????????? ??????

Excel. ????? ? ???????





????????


? ????????? ????? ????????? ???????? Excel, ??????? ???????? ??????????? ?????????? Microsoft ? ?????? ? ?????? ?????? Microsoft Office,?? ???? ?? ????? ?????????? ??????????? ?????????. ?? ?????? ??? ??????????? ???????????? ?????????? Excel ? ????? ?????? ????????: ?????? ????????? ?????????? ??????????, IT-????????????, ????????, ??????????, ??????????, ?????????, ????????? ? ?.??. ????? ??????????????? Excel ??????????? ???????? ??????????????? ????????????? ????????? ? ?????? ? ???? ????????? ? ????????????? (??????? ? ???????? ???????????????? ?????????, ??????????? ???????? ????? ? ????????? ??????, ??????????? ????????????? ?????????? ? ??.).

??????? ????????????? ????????? ???????? ??????????? ? ?????????? ?????????? (??? ?????? ??????? ?????????? ?????? ??????? F1 ?? ?????????? ??? ?????? ???????: Microsoft Offic Excel ?? ????? ? ???? ??????????). ?????? ? ???????? ???????????? ????????? ????? ????? ???????????? ?????? ? ??????, ??????? ? ??????????? ???????????? ?? ??????????????? ???? ??????????????? ???????????? ? ??? ???????, ??????, ??? ??? ?????????? ???????? ?????? ? ?????????? ???????? ???????????? Excel (?? ???? ??????????? ??????? ?????). ?????? ??? ???????? ????????? ???? ??? ????? ????????????? ? ????????? ?????, ????? ????? ??????????? ??????????? ?????????. ???????? ???????? ?????? ? ????????? ??? ?????.

??????????? ??????????? ? ????? ?????? ? ???????? ??????????? ?????????? ????? VBA (??? ???????? ? ????????? VBA ???????????? ?????????? ?????? Alt+F11). ????? ????? ???????? ???????? ???????, ??????????? ??????????? ??????????, ??? ????????????????.


????????? ?????

? ????? 1 ?????????????? ?? ??????? ???????????????? ?? ?????????? ? ????? Microsoft Office ????? Visual Basic for Applications (VBA). ??????? ???? ?????? ?? ???????? ?????????? ? ???????????? ????????????? ???????? ??????????? VBA.

? ????? 2 ??????????????? ?????????????, ?? ?????? ? ???? ???????? ? ?????????? ???????, ??????? ????? ??????????? ? ??????? ??????? ?????????; ????? ?? ?????????????? ? ??????? ?????? ? ??????? Excel (?? ???? ? ??????? ??????). ?????????? ???????? ?????????????? ????????????? ?????? Excel, ? ????? ??????? ???????????? ? ?????????? ???????? ?????????? ???????????????? ???????. ? ????????? ?????? ???????? ???????? ?????? ? ????????, ??????? ??????????? ? ??????? ? ?????????? ???????? ?????.

????? 3 ? ????? ????????. ? ??? ??????????? ??????? ?????????? ????? ????????????? ?????? ? ????????, ??????????? ? ????????? ?????? ????????????? ?????????. ? ?????????, ????? ?????????????? ? ???????? ???????????????? ???? (??? ???????, ??? ? ???????????) ? ??????? ????????????, ? ????????????? ??????? ??????????????, ? ?????? ? ???????????? ? ??. ??????????? ??????????? ? ?????? ????? ?????? ????? ???????????? ????????, ?? ???? ? ?????, ?????????? ??????? ?????? ???? ??????????????? ???? ???????????? ?????.

? ?????????????, ????? ?????????? ? ???????????, ????????? ??????? ??????? ????? 4. ? ??? ??????????????, ??? ?????? ??????? ????????? ? ??????? ???????, ????????? ????????? ?? ????????? ?????? ?????????? ??????? ??????, ?????? ???????? ??? ?????????, ????????? ?????????? ????????? ??????????? ????, ? ??.

? ????? 5 ????????? ????????? ???????? ???????? ????????? ???????? ? ??? ???????????????, ??? ? ??????????? ? ??????, ? ????? ???????? ?????? ????????????? ????????? ????????.

? ????? 6 ?????????? ???????? ???????? ???????, ??????? ?????????? ? ??????????, ? ??????? ????????????? ?????????. ??? ???????? ?????????? ???????? ??????????? ? ?????? ??????? ? ?????.

? ?????????? ??????? ???????? ????? ???????????? ? ??????????? ? ????? ???????? ??????????? ??????? Excel: Application, Chart, Range, Workbook ? Worksheet.


????? ?????????

??? ????????? ????? ?????????????? ?????? Excel 2007. ??? ?? ????? ??????????? ??????????? ? ????? ?????? ???????? ? ? ?????? ??????? ?????????.

????? ??? ??? ???????? ?????????? ? ???????? ????????????? ??????? ?????? ? Excel, ?????? ????????, ??? ??????? ????? ????? ????????????? ?????? ?????????? ? ?????? ??? ?????????????? ???????????, ? ????? ??????????? ? ????????? ????????? ? ?????????, ???????? ?? ????? ??????????? ? ??????????.

???????????????, ??? ?????? ????? ????? ??????? ????????????, ??????? ??? ??????? ????????? ????????????? ?? Excel. ??? ?? ????? ?? ????? ?????? ?????????, ????? ?????? ???????? ? ??????? ???? ?????????, ? ????? ???????????? ? ???????????? ? ??????? ?????????????.


?????????? ? ?????????????? ??????????? Microsoft Excel

????????? ???????? Microsoft Excel ???????????? ??? ??????? ????????? ?????.

?????? ? ????????? ????????? ?????? ? ?????????????? ?????????? ?????????? ??????, ???????, ???????? ? ??.

???????? ? ?????????? ??????? (?????????????? ?????? ???????? ? ????????????? ??????, ?????????????? ? ???????????? ??????, ????????????? ??????? ??????, ??????? ? ??.).

???????? ??????????? ?????? ?? ????????? ?????????? (??????? ???? ?????? OLAP) ? ??????????? ?? ?????????. ????????? XML-???????.

???????? ? ???????????? ????????? ? ???????????.

???????????????? ? ????? ??????? ? ?????????? Lotus Notes, ? ????? ?????????? ? ??????? ???????????? ?????????? (??????????, ?1ѻ ???.).

???????? ? ????????? (????????? ?????? ?? ???-????????, ?????????? ?????? Microsoft Excel ? ????, ????????? ???-??????, ??????????? ? ??.).

???????? ? ?????? ????????? ? ??????? ??????????? (Word, PowerPoint, Access ? ??.).

?????????????? ????? ????????????? ???????: ?????????????, ???????, ???????????, ? ???? ???????? ? ??.

???????????? ??????????? ??????? Microsoft Office: ?????? ?????????, ????? ?????? ? ?? ??????, ???????? ??????? ??????, ?????? ?????????? ? ??.

?????????? ?????????? ? ??????????? ????? ???????????????? VBA.

? ??????? Excel ????? ?????? ? ?????? ??????, ????????????? ??????? ??????????? ????????????? ??????????? ????????????.


???????????? ????????????

? ?????? ????? ???????????? ????????? ???????? ??????? ? ???????.

???????????? ? ??????? ? ????????????? ?????? ???????? ?????, ??????? ????? ????????? ?? ??????? ???? ??? ? ?????????. ? Excel ??????? ?????????? ????? ?????????.

??????????? ? ?????????? ?????? ????????????? ???????? ????????. ????????? Excel ???????????? ?????? ? ?????????? ?????? ????????: ?????????, ????????????, ?????????????, ????????? ? ??.

????? ? ?????????????, ??????? ????????????? ??????????? ????????? ?? ?????-???? ?????? (??????, ????????, ??????? ? ?.??.).

????????????? ? ?????, ??????? ??????? ? ??????????? ???? ????? ????? ??????? ?? ?????? ?? ????????? ?????? ?????? ? ???????????? ??? ?????????? ?????????. ??????????? ?????? ???????? ? ???? ???????????? ?????????? ???????????????? ?????????, ??????????????? ??? ???????? ? ????????? ???????????? ?????????? ???? ???? ????? ????.

????????????? ???? ? ????, ?????????? ?????? ??????, ??????? ????????????? ??? ?????? ? ?????????? ????????. ??? ?????? ???????????? ???? ????? ???????? ?? ??????? ?????? ??????? ???? ??? ?????? ?????????? ?????? Shift+F10.

???????? ? ?????????, ??????? ???????? ?? ?????????? ? Excel ????? ???????????????? Visual Basic for Applications (VBA). ??????? ? ????? ?????? ? ????????? ?????????????? ? ??????? ??????? ??? ? ???????.

???????? ? ???????????? ?????????? ????? ???? ????????, ? ???????? ???????? ??? ? ?????? ?????. ????? ??????, ?????? ? ??? ?????? ????????? ?????? ????, ??????? ????? ????? ???.

???????? ? ???????????? ????????, ?????????? ? ????????, ??????????? ??? ????? ?????? ? ????????? VBA.

???????????? ? ?????????, ?????????? ? Excel ??? ?????????? ?????????????? ????????????. ????? ?????????? ??????????, ??????? ? ?????? ????????? ????????? ? ??????? ????????? ? ???? ?????????? ??????? ???????? ????????? Excel ? ?????? ?????? ???????, ????? ???? ? ??????????? ???? ?????????? ????????? ??????.

??????????? ? ????????? ???? ??????????? ?????????? ?????? Microsoft Excel ???????????? ??????????, ?????? ? ??????? ?????????????? ?? ???????? ?????????? Excel. ????????? ?????? ????????? ????? ????????? ?? ??? ???????? ????.

??????? ????????? ? ?????????????? ???? ?????????? ???????? ? ??????????????? ?????????? ?? ???? ??????? ??????, ? ??? ????? ? ?? ????? ???????????.

??????????? ????????? ? ?????????????? ???? ?????????? ??????? ??????????????? ????????? ?????? ? ??????? ?????.



??????????

????????? ????????? ?????? Microsoft Excel ????? ???????? ??? ????????????? ??????????? ???????.


????????? ????? ? ??????? ?????????, ??????????????? ??? ???????? ?????? ????? ?? ?????????? ????????? ?????.

???????? ???????????? ? ??????, ?????????? ? ???? ?????? ? ???? ???????? ??????????, ??????? ???????????? ??? ?????????? ????????? ??????. ???????? ??????? ???????????? ?????????????? ?? ??????? ??????????.

???????? ? ????? ??????????? ??????? ????? (????????? ???? ????????) ?? ???????? ???????? ? ??????? ????????. ?? ?????? ????? ???????? ????????? ???????: ??????? ?????, ????????? ??????? ????, ??????? ????, ????????? ??????? ??????, ???????? ????? ?? ??????? ?????, ???????? ????? ?? ?????????? ??????? ??????, ??????????? ???????, ?????????. ??? ???? ?????????? ??????????? ?????? ?? ?????? ?????????? ????? ??????? ?? ???? ?????.

?????????????????? ????????? ? ???????? ?????????????? ???????????? ? ??????????. ? ?????? ????????????????? ?????????? ?????? ????? ? ?????????, ??????, ?????????? ???? ? ??. ? Excel ??????????? ??????????? ???????????????? ????????? Windows.

???????????? ? ??????????????? ?????????? ????????????? ?????????, ??????????? ? ???????????? ?????? ? ?????????? ?????????? ?? ??????????? ???? ??????. ????? ???????? ?????????? ? ?????-???? ??????, ????? ???????? ?? ? ??????? ? ??????????? ???? ????? ???????? ??????????, ????? ???? ? ?????????? ?????? ????????? ?????.

????????? ????? ? ????, ??????? ?????????, ????????????? ? ??????????? ?????????? Microsoft Excel. ? ??????????? ??????? ??????? ????? ????? ?????????? XLSX. ???????? ??????????? ???????? ??????? ????? ???????? ??????? ???? (??. ????).

????????? ???? ? ???????? ??????? ??????? ?????, ??????????????? ??? ?????, ?????????????? ? ???????? ??????, ? ????? ??? ?????????? ??????????. ?? ????????? ? ?????? ??????? ????? ???????? ??? ??????? ?????. ???????? ??????????? ???????? ???????? ????? ???????? ?????? (??. ????).

?????????? VBA ? ??????????????? ????? ??????????, ? ??????? ?????????????? ????????? ????? (????????????????) ?? ????? VBA. ????? ??????? ? ?????? ?????, ?????????? ?????? ????????? ?????? Alt+F11.

???????? ????????? ? ??????????? ??????? ?????????? ?????? ??????????, ????????????? ? ??? ??????? ?????. ? ?????? ?????? ???????????? ??? ????????? ?????????.

???????? ?????? ? ????????????? ??? ????? ?????? ? ?????????????? ??????????? ?????.

???????????????? ? ????????? ??????????? ?????? (?? ????????? ????) ???? ????????????? ??????, ???????????? ? ??????. ????????? ?????????????? ?????? ?? ??????? ?? ?? ???????????, ? ????????. ?? ????? ????????, ??? ????? ?????????? ?????????????? ???????????? ? ?????? ???????? ????? ?? ????????? ? ?? ??????????? ????????? (???????? ??????????? ?????? ? ??????????: ??????? ???????? ???????? 0,24, ?? ? ???????????? ? ??????????? ?????????????? ?? ?????? ????? ???????????? ???????? 0,2).



?????

?????? ??????????? ????????, ?????????? ? ??????, ??? ????????????? ????? ??????? ? ?????? ??????, ??? ??? ???????????? ?????????? ?? ?????????? ??????????????.


????????? ? ??????????? ?????????? Excel, ??????????????? ??? ????????, ?????????? ? ??????? ??????. ??????? ????? ???????? ? ???? ?????????, ????????, ??????, ??? ?????? (?????????) ? ??????? (??. ????).

????????? ?????? ???? ?????.

???????????????? ???????? ? ???????????? ??? ?????????? ?????????????? ???????? ? ???????? ? ???????? ?????????? ???????? ????????.

?????????? ????????? ? ???????????? ??? ????????? ?????? ? ?????? ? ???????? ?????????? ?????????? ???????? ?????? ??? ????.

??????????? ???????? ? ??????????? ??? ??????????? ??????.

????????? ? ??????? ??????? Microsoft Excel ??? ????????, ?????????? ? ??????? ??????. ?????? ??????? ????? ???????? ? ???? ?????????, ????????, ??????, ??? ?????? (?????????) ? ???????. ???????????????? ??????? ? ??? ???????, ?????????? ????????????? ?? ????? VBA.

????????????? ??????? ? ????????????? ?????????, ????????? ?? ?????? ????? ? ????????, ??????? ????????? ?? ????? ? ????????? ????.

???????? ? ?????????? (????????????) ????? ??????????? ???????, ??????????????? ??? ????? ? ???????? ??????????. ?????? ?????? ????? ????????? ?????, ????? ??? ???????. ????? ????, ??? ?????? ? ???????? ???????????? ????????? ????????.

??????? ? ??? ????????????????? (??????????) ??????. ????? ??????? ?? ????? (??????) ??????? ? ?????? ??????, ?? ??????????? ??????? ??????????? ?????? ??????.

???????? ? ???????? ?? ????? ??????. ?????? ????? ???? ??????????? (?? ???? ?? ????????????? ??? ??????????? ? ??????????? ??????), ?????????????? (??? ?????? ?????????? ??? ??????????? ? ??????????? ??????) ? ??????????. ??????? ?????? ? ??? ?????? ?? ??????, ????????????? ? ?????? ??????? ?????.

????? ???? ??? ?? ????????? ???????? ??????? ? ???????, ???????????? ? Excel, ????? ?????????? ? ???????? ????????????? ??????? ? ??????? ?????? ? ?????? ??????????. ? ? ?????? ??????? ?? ?????????? ?????, ??????????? ? ??????? ???????.


?????? ???????? ?? ????? ????????????

??? ??????????? ? ????? ???????? (???? ????????) ????? ????????? ? ????? ???????????? ?????? ?? ?????? http://www.piter.com/downLoad/978591180547/ (http://www.piter.com/downLoad/978591180547/).




?? ????????????


???? ?????????, ??????????? ? ??????? ??????????? ?? ?????? ??????????? ????? dgurski@minsk.piter.com (mailto:%20dgurski@minsk.piter.com) (???????????? ??????, ???????????? ????????). ?? ????? ???? ?????? ???? ??????!

?? ????? ???????????? http://www.piter.com (http://www.piter.com/)??? ??????? ????????? ?????????? ? ????? ??????.




?????1

??????? ??????????? ?? VBA



???? ?????? ????? ? ?????????? ???????? ? ???????? ???????????????? ?? ????? Visual Basic for Applications (VBA), ??????? ??????? ? ????? Microsoft Office.

??? ????? ?? ????? ????????? ?????? ?????? ?? ??????????. ??? ?????????? ?? ?????????????, ??????? ????????? ???? ???????? ???????? ?? ?????? ????????-??????????????? ?????? ????????????????, ?? ???? ??????????????, ??? ????? ??????????, ?????????, ????????, ????, ??????, ?????, ?????? ? ?.??. ??????? ???? ? ?????? ????? ?????? ?? ???????? ?????????? ? ???????????? ????????????? ???????? ??????????? VBA, ??????? ????? ????? ??? ????????? ??????????? ? ?????? ?????????.




?????????? ? VBA



VBA ? ??? ???? ????????????????, ?????????????? ???????????? ?????????? ?????? Microsoft Office. ??? ??????? ????? ???????????????? VBA ????? ???????????? ????????? ?????? Alt+F11.




??????????? VBA


????????? ??????? ??????? ?????????? ? ?????????? ???? VBA ????????? ???????????? ????? ????????? ???????????? ??????????? Microsoft Office ??? ??????? ????????????? ?????. ?? ????? ????? VBA ????????? ????????? ? ?????????? ????? ?????? ????? ???????????, ?????????? ???????????????? ?????????? ? ???????? ?????? ? ????.

????????????? ? Excel ???????????????? ?? VBA ????????? ????????????? ????????? ??????????? (???????????, ??? ?????? ?? ?????? ??????):

???????????? ??????? ??? ????????????? ????????;

??????????? ????? ?????? ? ???????;

??????????????? ????????, ????? ??????????? ????????????? ????????;

?????????? ?????? ????, ??????? ???????????? ??? ?? ?????? ??? ?????????, ??? ? ??????????? ?????????? ????? ????????;

??????????? ??????????? ?????? (????????, ? ??????? ????????? ??????? ?????);

??????????????? ????????? ??????? ??????? ??????;

??????????????? ???????? ????????????? ???????, ??????? ? ?????? ????????, ????????? ? ??????? ???????? ?????????? ?? ???????? ?????? ???????? ??????.

?????????? ???? ???? ???????????? ??? ????????????? VBA ????? ????? ??????????? ?????????? ?????????? ?????????? ?????????? ???????? ???????????? ????.




????????? ??????? VBA


??????? ??? ????????? VB? ? ???????? ???????? ??????????? ?? ???.?1.1.




???.?1.1. ?????? VBA



? ????????? ??????? ??? ????: ????? ?????? ? ???? ????????? ??????? (Project), ????? ????? ? ???? ??????? (Properties) ? ?????? ? ???? ? ??????? ????????? ??????. ? ??????? ???? Project (??????) ????? ????????????? ????????? ???????, ????????? ? ??????? ???????? ???????, ????????? ??? ?????????????? ?????????? ?????? (??????? ??????? ?? ?????? ???????????????? ??????). ???? Properties (????????) ???????????? ??? ??????? ??????? ?????????? ????????? ???????.

VBA-?????? ? Microsoft Excel ????? ????????? ????????? ????????:

???????? (??????????? ?????? VBA);

???????? ??????;

???????? ??????? ?????;

???????? ??????? ??????;

???????? ????????;

???????.


??????????? ?????? VBA

??????????? ?????? VBA ? ??? ??????? ???????, ??????? ???????? ??????????? ???, ??????????????? ???????????? ?????????? ?????????? ??????? (?????????? ???????, ??????????, ????????? ? ?.??.). ? ???? ????????? ??????? ??????????? ?????? ???????????? ? ????? Modules.

?????? ? ??????????? ?????? ???????????? ?????????, ??????? ?? ????????? ? ?????????? ????????, ????? ??? ??????? ???? ? ??????? ?????. ?????? ? ???? ?????? ???????????? ??????????? ???????? (??????), ??????????????? ? ??????????? ?????? ?????.


?????? ??????

?????? ?????? ? ??? ??????, ? ??????? ???????????? ??????????? ???, ??????????? ?????? ???????????????? (????????? ?????????????) ???????. ? ???? ????????? ??????? ????? ?????? ???????????? ? ????? Class Modules.


?????? ??????? ?????

?????? ??????? ????? (???????? ? ????? Microsoft Excel Objects)?? ??? ?????? ??????, ? ??????? ??????????? ?????????????? ??????????? ?? ??????????????? ??????? ??????. ?????????, ?????????? ? ???? ??????, ????? ???????? ?????????? ? ????????? ? ??????? ??????? ??????? ????? (??. ???????? ??????? ?????? ? ????? ?????). ???????? ?????? ??????? ????? ?? ???????? ?????? ?????? ???????? ??, ??? ?? ????????? ?? VBA ?????? ??????? ????????? ??????? ??????? ????? ? ?? ????????? ?????????????.


?????? ???????? ?????

?????? ???????? ????? (????? Microsoft Excel Objects)?? ??? ?????? ??????, ? ??????? ??????????? ?????????????? ??????????? ?? ??????????????? ????????????? ???????? ??????? ?????. ?????????, ?????????? ? ???? ??????, ????? ???????? ?????????? ? ????????? ? ??????? ??????? ???????? ?????. ?? ????????? ?? VBA ????? ?????? ??????? ????????? ??????? ??????????? ???????? ????? ? ????? ??????? ?????? ????? ??????? ???? ? ?????? ???????.


?????? ?????????

?????? ????????? (????? Microsoft Excel Objects)?? ??? ?????? ??????, ? ??????? ??????????? ?????????????? ??????????? ?? ??????????????? ???????????, ??????????? ?? ????????? ????? ??????? ?????. ??????????? ?????? ????????? ?????????? ???????????? ?????? ???????? ?????.


?????

????? (????? Forms)?? ??? ??????? ??????? VBA, ? ??????? ???????? ????? ????????? ?????????? ???? ??? ?????????????? ? ?????????????. ????? ??????? ?? ???? ??????: ?????? ????? ? ?????????? ????? (??????????? ????).

?????? ????? ? ??? ?????? ??????, ? ??????? ??????????? ????????? ?????. ????????????? ????? ?????? ?????????? ????????????? ???????? ?????? ??????. ??? ???????? ?????? ????? ?????? ????? View Code (???????? ????) ???????????? ????, ??????? ?????????? ??????? ?????? ?????? ???? ?? ?????? ????? ? ???? Project (??????).

??? ??????? ???????? ???? ??????????? ???? ???????????? ???????? ????, ??????? ??????????? ? ??????? ?????? View Object (???????? ???????) ???????????? ????. ?????, ???????? ??? ?????????????? ???????? ????, ???????? ?? ???.?1.2.




???.?1.2. ?????????????? ?????



??? ????????? ??????? ???????? ????? ???????????? ???? Properties (????????). ? ???? ?????? (?????? ????????????) ????? ???????? ???????? ??????????, ??????????? ? ?????. ????? ?????????? ?????? ???????? ??????????? ??????? ??????? ?????? ??????? ???? ?? ??? ????? ??????? ? ?????????????? ???????????????? ???? ? ?????? ?????.




????????? ?????? VBA


??? ?????????? ????? ????????? ?? VBA ??????????? ??? ???????????? ? ????? ??? ?????????? ???????. ???, ?????????? ? ????? ?????? VBA, ????? ????????? ?????????.

1.??????????? ??????????, ????????? (? ?????????????? ????????? ????? Option), ?????????? API-???????.

2.??????????? ? ?????????? ???????? ? ???????.




??????????, ??????????? ??? ???????? ?????????? VBA


? ?????? ??????? ?????????? ???????? ?????????, ??????? ???????????? ??? ??????????? ??????? ?????????? ??????????? ????? VBA. ???????? ?? ???? ????????? ????????? ? ????. 1.1.


??????? 1.1. ???????? ???????? ?????????????? ??????????? VBA






??????????

????? ????????? ? ??????? ?????????, ??? ??????? ??????? ?????????????? ??????????? ? ? ??????? ???????? ???????????? ?????? ????????????? ??. ?? ???????? ??????????? ???????? VBA. ?????, ??????? ????????????? ???????? ?????????????, ???????????? ????? ???? ????? ? ??????? ?? ????????? ??????.


????? ????????? ???? ????? ????? ????????, ???? ???????? ?????? ??????????? ??????? ?????????????? ??????????? ????? VBA. ? ???????? ??????? ???? ?????? ??????????? ?????????? ????????? ?????????? (????? ???? ????????? ?????? ??????????? ????? ????????? ??????? ? ??????????? ???????? ?????):



Dim | Static ??? [As ???_????][, ???_?????????? [As ???_????]]?


??????????? ?????? ????????, ??? ?????? ?????????? ????????? ?????????? ?????? ?????????? ??????????? Dim ??? Static. ????? ?????????? ?????? ????????? ????????????? ??????????. ?????????????? ????????? ??????????? ???????? ???????? ???? ??????????. ?? ???? ??? ???????????, ?? ???????? ? ?????????? ??????? (??????) ?????? ???? ???????????? ?????????, ?? ???? ???????? ????? As ?? ?????? ??????????? ??? ???????? ????? ????. ?????????? ?????????? ????? ?????????? ? ???? ?? ?????? ??? ?????????? ????????????? ?????????? Dim, ?? ???????? ?? ??????? (??. ?????? ??????). ???????? ?????????? ????? ?????????? ? ?????? ?? ????????????? (?? ???? ??????? ????????????? ?????????? ????? ?????? ??????).

??????? ?????????? ??????????, ??????????????? ?????????? ???????, ????????? ????:



Dim intPos As Integer

Dim varValue, intValue As Integer

Static strText As String

Static var1 As Variant, var2 As Variant, var3 As Variant





??????????? ? ?????????


? VBA ????????????? ??? ??????? ???????? ???????????? ? ?????????. ?????? ? ??? ????????????? ????????? ????? Rem ??? ??????????? ?????? ???????????. ?????? ? ????????????? ?????? Rem ????????? (). ??????? ????????? ???? ???? ???????? ???????? ??, ??? ???????? ????? Rem ?????? ?????????? ? ?????? ?????? ?????????. ??? ???? ??? ?????? ???????? ????????????. ????????:



Rem ?????????? ??????????

Dim intRes As Integer

Rem ?????????? ???????? ??????????

intRes = 123


??????????? ??, ???????? ? ??????? ?????????, ????? ???? ?????????? ??? ? ????????? ??????, ??? ? ?? ????? ?????? ? ??????? ???????????? (? ????? ???? ??????):



' ?????????? ??????????

Dim intRes As Integer

intRes = 123 ?????????? ???????? ??????????


??? ??????????? ? VBA ???????? ?????????????, ?? ??? ????????????? ?? ????? ????? ???? ????????? ?? ????????? ?????? ? ?????????????? ??????? ?????????????:



' ??????? ???????????, ????? ???????? ?? ?????????? _

? ????? ??????


???



Rem ??????? ???????????, ????? ???????? ?? ?????????? _

? ????? ??????





??????????????


???????????????? ? VBA ???????? ???????? ??????????, ????????, ???????, ????????, ???????, ????? ?????? ? ?????? ?????????, ?? ?????????? ?????????????????? ??????? ????? (?????????? ??????????, ??????????, ?????????? ??????? ? ?.??.).

????? ?????????? VBA ???????????? ????????? ???????? Unicode. ????????? ?????? ????????? ?????????? ????????, ??? ??????????? ????? ???????????? ? ??????? ??????????????? ??????? ?????? ??????????????? ???????? (????????, ?????????).

??? ???????????? ??????????????? ?????????? ????????? ?????????.

??????????????? ?????? ???????? ?????? ?? ???? (?????? ????????), ???? ? ??????? ?????????????.

???????? ???????? ?????????????? ?????? ???? ?????.



????????!

VBA ?? ????????? ??????? ???????? ? ???????????????. ??? ??????, ??? ?????????????? strmyText ? strMyText ????? ???????????? ???? ? ?? ?? ??????????. ??? ?? ??????????? ? ??? ??????????????? ????????, ???????, ??????? ? ?.??.


?????????? ??????? ?????????? ??????????????? VBA:



strText

CUSTOM_Data2

???????_?????

?????????????





??????????



? ?????? ??????? ???????? ??????????? ? ????????? ????????????? ????????????? ?????????? ??? ????????? ???????? ?? ????? VBA.




?????????? ???? ??????


VBA ??????????? ?????????? ?????????? ????? ??????. ??????? ??? ???? ????? ????????? ?? ????????? ????, ??????, ??????, ???? ??? ???????? ???? ? ???????, ????????? ??????, ??????? ? ?????? ??? ??? ???????? ???????? ?????? ????, ????????? Variant.


????????? ???? ??????

???????? ?????????????? ????????? ????? VBA ????????? ? ????. 1.2.


??????? 1.2. ????????? ???? ?????? VBA






??????????

????????? ??? Decimal ??? ??????????????? ??? ?? ??????????? ???? ?? ??????????????. ?????? ??? ????? ???????????? ? ???????? ???? Variant?(? ???? Variant ????? ?????????? ?????).



??????

??? ???????? ?????????? ?????? ? VBA ??????????? ????????? ???? ?????? String (??????). ? ?????????? ????? ???? ????? ????????? ????????? ??????? ? ??????? ????????? ??????. ?????? ? VB ? ?????? ???? ?????: ????????????? ? ?????????? ?????. ??????? ????? ????? ????? ?????? ????? ??????? ?? ?? ????????.

?????? ????????????? ????? ???????????, ????? ????? ??????, ??????? ???????? ? ???, ????????? ??? ?? ????? ????????? ????????? ?????? (????????, ??? ???????? ????????? ????????). ?????? ????????????? ????? ? ???? ??????? ?????????????? ??????? ????? ?????????? ?????. ???????????? ?????? ?????? ????????????? ????? ? ????? 65 400 ????????.

?????? ?????????? ????? ???????? ????? ?????? ???????????? ????????? ?????? ? ?????????? ?? VBA. ????? ???? ????? ????? ??????????? ?????????? ? ??????????? ?? ????? ????????? ? ??? ??????. ???????????? ????? ????? ????? ? ????? 2????? ????????.


???? ? ?????

??? ???????? ?????? ?? ?????????? ???? ? ??????? ? VBA ?????? ??? ?????? Date. ?? ????????? ???????? ???????? ??????? ? ???? ? ???????, ??????? ??? ??????????, ? ????? ???????? ?????????? ? ?????????? ???????????. ???? ??? ??????, ???????????, ???????????? ? ? ???????? Excel.

????? ????????, ??? ??? Date ?? ???????? ?????????? ?????, ???????????? VBA ??? ???????? ???? ? ???????. ?????? ???? ??????????? ??? Single (????? ? ????????? ??????). ????? ????? ????? ????? ? ?????????? ?????, ????????? ? 30 ??????? 1899 ????, ??????? ? ????????? ????? ??????? ?????.


??? ?????? Variant

? VBA ???????????? ???? ????????????? ??? ?????? ? Variant. ?????????? ????? ???? ????? ??????? ???????? ?????? ??????????????? VBA ???? (? ??? ????? ? ?????? ?? ???????, ? ??????? ????? ?????????? ????).

?????? ??? ????????? ?????????? ???? Variant ???????? ?????????????? ????? ?? ??????????? ? ?????????????? ???? ?????? ? ???? ?????????? ? ????? ????????????? ??? ?????? VBA ??????????? ? ????? ?????????. ??????? ??????? ???????? ??????? ??????? ? ?????????????? ????????????? ?????????? ????? ???? (????????, ? ???????? ????????????? ??????????, ????????? ? ?.??.).

????? ?????????? ???? Variant ????? (?? ?? ????????? ???????? ????????), ??? ??????????? ??????????? ????????? Empty.


??????. ??? ?????? Object

????? ????????, ??? ? VBA ??????????, ??????????????? ?????? ? ????????, ???????? ?????? ???????? ?? ??? ???????. ? ?????? ????? ???????????????? ?????????? ???????? ??? ?????? (??? ???????? ???). ??? ???????? ?? ????????, ???????? ???????? ? ??????????????? ???, ?????????????? ?????? ? ?????????????? ??????.

???????, ????????? ?? VBA, ??????????, ???? ?? ??? ??????????? ???? ?? ???? ??????. ?????? ?????? ?? ?????? ??????????????? ??? ??? ????????. ? ???????? ?????? ????? ??? ????????????? ????? ?????? ?? ??????, ??? ? ??????? ?? ? ?????????????? ??????????? ?????????? Set. ????? objRef ? ?????? ?? ????????? ??????. ????? ???????? ???????????? ????? ?????? ????? ????? ????? ???:



Set objNewRef = objRef


?????? objNewRef ????????? ?? ??? ?? ??????, ??? ? objRef. ???????? ?? ???????? ?????? ????? ????????? ????????? ???????:



Set objRef = Nothing

Set objNewRef = Nothing


???? ?? ?????? ?? ???? ?????? ??????, ????? ????, ?? ?? ????? ??????.

??? ??????? ? ???????? ? VBA ???????????? ??? ?????? Object. ?? ???????? ?????????????, ??? ??? ????? ???? ??????? ?? ?????? ?????? ????.




?????????? ??????????


??? ?????????? ?????????? ???????????? ????? (?? ????????) ? ????? ?????????? ?????? ???????????? ????????? ??????????:



Public | Private [WithEvents] ???_?????????? [As [New] ???_-

????] _

[, ???_?????????? [As [New] ???_????]]?


???????? ?????, ?????????? ?? ?????? ?????????? ??????, ?????? ??????? ????????? ??????????:

??Public ? ????????? ????????? ?????????? ?????????? ? ????? ??????????-????? ?????? (? ??????? ????? ?????????? ?????);

??Private ? ????????? ????????? ??????????, ????????? ?????? ? ????? ??????, ? ??????? ??????????-????? ??????.

??? ?????????? ?????????? ???????????? ????? (?? ????????) ? ?????????? ??? ???????? ???????????? ????? ?????????? (????????? ??????????):



Dim | Static [WithEvents] ???_?????????? [As [New] ???_????] _

[, ???_?????????? [As [New] ???_????]]?


???????? ?????, ?????????? ?? ?????? ?????????? ??????, ?????? ????? ????? ??????????:

??Dim ? ???????????? ??? ?????????? ????????? ??????????, ??????? ???????????? ????? ?????? ?? ?????????;

??Static ? ???????????? ??? ?????????? ????????? ??????????, ???????? ??????? ??????????? ????? ???????? ????????? ??? ???????.

???????? ????? WithEvents ???????????? ??? ?????????? ??????????-??????????? ??????? ???????.

???_?????????? ? ??? ????????????? ??????????? ??????????.

???_???? ? ???????? ???? ?????? ??????????? ??????????.

???? ??????????? [As [New] ???_????] ?? ????????????, ?? ????? ??????????? ?????????? ????????????? ?????????? ??? Variant.

???? ???????????? ???????? ????? New, ?? ????????? ????? ??????. New ?????? ???????????? ????????? ? WithEvents, ? ????? ??? ?????????? ?????????? ???? Object ? ???? ??? ???_???? ?? ???????? ?????????.

???? ????????? ??????? ?????????? ?????????? ?? VBA:



Public intData As Integer

Private intCount As Integer, varData

Dim strText As String

Static a, b, c

Dim objRef As Object

Dim objCtrl As New Control




????????!

??? ?????????? ? ????? ?????? ?????????? ?????????? ????? As ????????? ?????? ? ??????????, ??????????????? ????? ?????????????? ??????? ??? ???????. ????????, ??? ?????????? Dim ?, ?, ? As Integer ?????????? ? ? b ????? ????? ??? Variant, ? ?????????? ? ? ??? Integer.





????????????? ??????????


????? ???? ??? ?????????? ?????????, VBA ?????????? ?? ????????????? ????????? ???? ???????.

???????????? ????????? ????? ????????????? ????????????? ??????? ????????.

???????? ?????????? ????? ????? ?????????? ???????? ??????? (? ??????? ??????). ?????? ????????????? ????? ??????????? ???????? ?????????.

???????? ???? Date ???????????????? ????????? 00:00:00 30.12.1899 (??? ????????? ???? ??? ????????????? ???? ? ????????? ???????, ? ??????? ???? ?????????? ????).

????? ?????????? ???? Object ? ???????? (?? ???? ?????? ?? ??????? ????????????? ????) ????????? ???????? Nothing, ???? ??? ?? ?????????? ?? ?????? ????? ?????? (?? ?????????????? New).




????? ? ??????? ?????????? ??????????


????????????? ???? ?????????? ?????????? ?????????? ?????.

VBA ????? ???????????? ??????? ?????????? ??????????. ??? ??????? ??????????? ??????????????? ??????????? ????????????? ?????????? ??? ?? ?????????? ??????????? ?????????? Dim, Static, Private ??? Public. ??? ?????? ????????? ? ????? ?????????? ??? ??? ????????????? ?????????? ?????? ? ?????????? ?? ?????????????. ??????? ????????, ??? ??? ?????? ??????????? ?????????? ????? ??? Variant.

????????????? ???????? ?????????? ?????????? ????? ??? ????????? ????????? ????????, ??? ? ??????????? ????????? ??????? ?? ???????.

? ???????, ????? ????? ????? ???????????, ?????? ?? ????? ?????????? ?????? ?????????, ??? dblSalaryAccount = dblSalaryAcount * 10. 5, ???????? ?????????? dblSararyAccount ????? ?????? ????, ???? ?? ????? ??? ???? ????? 5.37 5. ??? ???? ? ????????? ?????? ? ???????? ?????????????? ??????????, ? ?????????? ??????? ????????? ????? ?????????? dblSalaryAcount, ??????? ???????????????? ??????? ?????????. ? ?????? ????????????? ?????? ?????????? ?????????? ???????? ?????? ? ????????? ???? ?? ?????, ?????? ??? ?????? ??? ??? ??????????? ?????????????? ?????????????? VBA ?????? ??????.

??? ????????? ?????????? ????????????? ?????????? ?????????? ???????????? ????????? Option Explicit. ????? ?????? ????????? ??????????? ? ?????? ????? ?????? ?????????????, ????? ? ??????? ???? Tools ? Options (?????? ? ?????????) ????????? VBA ??????? ?????????? ???? Options (?????????) ? ?? ??????? Editor (????????) ?????????? ?????? Require Variable Declaration (????? ???????? ??????????).




?????????


??? ? ? ????? ?????? ????? ????????????????, ? VBA ????? ???????????? ? ???????????????? ??????????? ????????. ?????????? ???????? ? ????? VBA ?? ?????? ?????? ? ??????????? ??????????. ????????? ?????????? ?????????? ????????? ?????????:



[Public | Private] Const ???_????????? [As ???_????] = ????????


??? ???????? ????? ? ?????? ??????? ?????? ??????? ????????? ?????????:

??Public ? ???????????? ??? ?????????? ?????????? ????????;

??Private ? ???????????? ??? ?????????? ????????, ????????? ?????? ? ??? ??????, ??? ??? ?????????.

?? ?????????, ?? ???? ????? ?? ??????????? ????????? ???????? ?????, ????????? ???????? Private.

???_????????? ? ?????? ????????????? ?????????.

???????? ? ??????????? ???????? (????????, ???????1?, 1.245 ??. ?.) ???? ?????????, ? ????? ?????????? ???????? ?? ?????? ?????????? ? ???????.

???? ??? ????????? ?? ?????, ?? ?? ????????????? ?????????? VBA ?????? ?? ?? ????????. ???? ?????????? ??????? ?????????? ????????:



Const PI As Double = 3.14159265359

Public Const MyConstString = ?MyConst?

Private Const ??????????????? As String = ????????





?????????



???? VBA ???????? ??????? ?????????? ?????????? ??????????, ??????? ????????? ????????? ????????????? ???????? ??? ????? ??????????? ? VBA ??????. ????????? ? ?? ???????? ?? ???????????? ???????? ???????????? ? ?????????. ?????? ?????? ???????? ???????? ??????????, ??????????????? VBA-npo?????????.




????????? ??? ?????? ? ?????????? ??????????


?????????? ??? ???? ?????????? ??? ?????? ? ?????????? ?????????? ????????? ? ????. 1.3.


??????? 1.3. ????????? ??? ?????? ? ?????????? ??????????






??????????

???????? ?+? ????? ?????????????? ? ??? ?????????? ?????. ?????? bVBA ?????????? ??????????? ???????? ?&?, ??????????? ??? ???????. ????????????? ???????????? ??? ?????????? ????? ?????? ???????? ?&?, ??? ??? ??? ???????????? ??????? ??????????? ????????? ???????? ??? ???????? ?? ???????? ??? ??????? ?????? ??????, ???, ? ???? ???????, ???????? ?????????? ????.





????????? ?????????


??????????? ?????????? ???? ?????????? ????????? ???????? ???????? ???? Boolean. ???? ???????? ??????-???? ????????? ????????????? ??? ???????, ?? ???????????? ???????? True, ????? ???????????? ???????? False. ??? ????????? ?????????, ?????????????? VBA, ????????? ? ????. 1.4.


??????? 1.4. ????????? ?????????









????????? ????????? ????????? ????? ????????? ? ???????? ????????? ???????? ????????? ?????? ????, ?? ???? ?????????? ????????? ? ????? ?????? Variant. ???? ???? ?? ????????? ????? Empty, ?? ??????????? ?????????? ?????????? ????? ??????????? ???????? NULL. ???? ???????? ??????????, ?? ??? ?????????? ????????? ???? ?????????? ???????????? ??????: ??????????????? ????.

????? ????????? ????????? ???????? ????? ?????? ? ??????? ????????? Option Compare. ??? Excel ???????? ??? ???????? ?????? ?????????: Option Compare Text (????? ???????????? ??? ????? ???????? ????????) ? Opt ion Compare Binary (???????????? ???????? ???? ????????, ??? ???? ????????????? ??????????? ?? ???????). ?? ????????? ????????? ????? ?????????? ???????? ????????? Option Compare Binary.

? VBA ??????????? ??? ????????????? ????????? Like ? Is, ??????? ???? ????????? ? ?????????? ?????????. ??? ????? ?????????? ???????? ???? Boolean ??? ????????? ?????????.

???????? I s ???????????? ??? ???????????, ???????? ?? ??? ?????? ???????? ?? ???? ? ??? ?? ??????. ???? ???????? ????????? ????????????? ? ???????? ????????? ?????? ?????? ?? ???????. ?????? ??????? ????????? ?????:



????????? = ??????1 Is ??????2


???????? Like ???????????? ??? ????????, ????????????? ?? ????? ? ?????? ????????? ???????. ?????? ????? ????????? ?????????:



????????? = ?????? Like ??????


???????? ????????, ??????? ????? ????????????? ? ?????? ???????, ???????? ? ????. 1.5.


??????? 1.5. ???????? ????????? ???????? ? ?????? ???????









? ???????? ??????? ?????????, ???????? ?? ?????? ?15 26 ??? ??????? ?????????? ????? ?? ??? ??. ???????? ??????-??????? ??? ????? ?????? ????? ????? ?## ## ?[A?]?, ? ??????????? ?????????? ????????? ?15 26 ??? Like ?## ## ?[??]? ????? ???????? True.

??? ??????? ???????????? ????????? ???????? ? ?????????? ??????? ????? ??????????????? ?????? ?????? (-). ??? ???? ??????? ?????????? ????????? ? ???????????? ??????? (?? ?????? ? ????????): [A-Z], ? ?? [Z-A].



??????????

???? ?????, ????? ? ??????? ?????????????? ??????????? ???????, ??????????? ? ????. 1.5, ?? ?????????? ????????? ??????????????? ????? ? ??????: ([), (]), (#), (?), (*).





?????????? ?????????


? VBA ??????? ?????????, ??????? ???????????? ? ??????? ?????????? ????????? (????????, ??????? ? ?????????? If-Then-Else, ??????? ????? ??????????? ?????). ?????? ?????????? ?????????? VBA (????? ??????????) ? ?? ???????? ????????? ? ????. 1.6 (??? ?????????, ???????????? ? ??????????,?? ??????????, ??????????? ???????? True ??? False).


??????? 1.6. ?????????? ????????? VBA







???????



??? ???????? ???????? ????? ?????????? ??????????? ???????? ???????????? ?????? ?????? ???? ? ??????? ?????????? ?????. ??? ???????? ????? ?????? ???????????? ???????. ?????? ? ??? ???????????? ???????? ?????? ????, ???????????? ? ????? ??????????.

???? VBA ????????????? ??????? ??????????? ??? ????????????? ????????. ? ??? ?????? ? ????????? ??????????? ????????. ????????, ??? ?????????? ????????? ????????????? ?????????????? ????? ?? ??????? ???????. ????? VBA-???????????? ??? ?????? ? ????????? ?? ????? ?????????? ? ????????? ? ???????????? ??????.




?????????? ???????


??? ?????????? ???????? ? VBA ???????????? ??????????, ?????? ??????? ???????? ????:



Public | Private ???_??????? ([???????????])[As ???_????] _

[, ???_??????? ([???????????]) [As ???_????]]?


???



Dim | Static ???_??????? ([???????????])[As ???_????] _

[, ???_??????? ([???????????]) [As ???_????]]?


?????? ?????????? ???????????? ??? ?????????? ???????? ?? ?????? ??????, ?????? ? ??? ?????????? ??????? ? ????????? ??? ??????? (??? ?????????? ?????????? ??????????).

?????????? ??????? ?????????? ?? ?????????? ????? ?????? ?????????? ???, ??? ??? ?????????? ??????? ????? ?????????????? ?????????? ??????????? ???????????. ???? ??????????? ?? ???????, ?? ????????? ???????????? ??????, ?????? ???????? ????? ???????? ?? ????? ?????????? ?????????. ??? ????????????? ??????? ?????????? ?????????? ???????? ??????????: ????? ???? ?????? ????? ???? ????????????, ? ???? ?????????? ????????? ?????????? ReDim (?? ???? ?????????? ????? ?????????? ?????).

??? ???????? ??????????? ??????? ?????????? ?????????, ??? ??????? ??????????? ????? ????????? ??????:



??????_??????? To ???????_??????? | ??????????_????????? _

[,??????_??????? To ???????_??????? | ??????????_?????????]?


? VBA ????????? ????????? ??????????? ??????? ? ??????????? ????????? ?? ????? 60. ??????????? ????????? ??????? ??????????? ???????.

??? ??????? ??????????? ? ???? ???????????? ?? ????????????? ????? ???? ????????? ?????? ? ??????? ??????? ????????? ??????? (????????, 50 ?? 100).

??? ??????? ??????????? ????? ????? ?????? ????????? ????????? ?????????? ????????? ? ?????? ????????? ???????. ??? ????? ??????? ? ???????? ?????? ??????? ????????? ???????????? ???????? ?? ????????? (?? ????????? ????? ???????? ????? ?????????? ?????).

???? ????????? ??????? ?????????? ???????? (??????????? ???????, ???? ?????????? ? ???? ???????????):



Dim avarValues()

Dim astrValues(1 To 10) As String, astrValues2(10) As String

Dim aintValues(1 To 10, 1 To 3) As Integer, aintValues(10, 3)

As Integer





??????? ?????? ??????? ?? ?????????


??? ???? ??????? ?????, ??? ???????? ??????????? ????????? ??????? ????? ?????????????? ???????? ?????? ??????? ?? ?????????. ??? ??????? ?????? ???????, ???????????? ?? ?????????, ????????????? ????????? Option Base. ?????????? ?????? ??? ???????? ?????? ?????????:



Option Base 0


?



Option Base 1


?????? ??????? ????????????? ?????? ??????? ?????? ???? (???????????? ?? ?????????), ? ?????? ? ???????.




????????? ??????? ???????


???? VBA ????????? ???????? ?????? ????????????? ??????? ?? ????? ?????????? ?????????. ????? ????, VBA ???? ??????????? ???????? ?????????? ????????? ?????? ???????. ??? ????? ???????????? ?????????? ReDim, ?????? ??????? ?????????:



ReDim [Preserve] ???_??????? ([???????????])[As ???_????] _

[, ???_??????? ([???????????]) [As ???_????]]?


?????????? ????????? ?????? ?????????? ????????? ?????????? ?????????? ??????????? ????????? ?????????? Dim (??? ????????????? ?? ??? ?????????? ????????). ??? ????????? ??????? ????? ????????? ?????? ? ??? ??????, ???? ?????????? ? ??? ????????????? ?????????? ???? Variant.

??? ?????????? ?????????? ReDim ??? ????????????? ????????? ????? Preserve ???????? ???? ?????????, ??????? ????? ???? ? ???????, ????????. ???? ????????? ??????? ????? ??????????:



ReDim astrValues(1 To 10), aintValues(10, 20)

ReDim varArray(2 To 4) As Boolean


????????????? Preserve ????????? ???????? ?????? ???????, ?? ????? ???????? ??? ?????????. ?????? ????????????? ??????? ????????? ????? ???????? ????????? ??????????? ?? ??????????? ??????????????? ?????????:

???????? ???????? ?????????? ????????? ???????;

???????? ???????? ??????????? ????????? ???????, ????? ??????????? ?????????? ?????????;

??????? ???????? ?????? ??????? ??????? ?????????? ????????? ???????.

??????? ?????????? ?????? ????????????? ?????????? ReDim ? ???????? ?????? Preserve:



' ?????? ?????????? ReDim ??? ????????????? ???????

ReDim astrValues(1 To 5, 1 To 10)

?

' ?????????? ??????? ???????

ReDim Preserve astrValues(1 To 5, 1 To 25)

?

' ?????????? ??????? ???????

ReDim Preserve astrValues(1 To 5, 1 To 15)





??????????? ?????? ???????


??? ??? VBA ????????? ???????? ???????????? ?????? ??????? ???????, ??? ????????? ???????? ?????? ?????? ??????? ??????????? ?????? ??????? ??????? ?? ????? ?????????? ?????????. ??? ???? ???? ? VBA ??????? ??? ???????, ?????? ??????? ?????????:



LBound(???_???????[, ?????_?????????])

RBound(???_???????[, ?????_?????????])


??????? LBound ????????? ???????? ?????? ??????? ???????, a RBound ? ???????. ??? ??????? ????????? ? ???????? ?????????? ????????????? ??????? ? ????? ?????????, ??????? ???????? ????? ????????. ????????? ????????? ?????????? ? ???????. ???? ???????? ?????????????? ??????, ?? ??? ???????? ??????????? ?????? ???????. ??? ??????? ?????????? ???????? ???? Long.

???? ???????? ?????? ????????? ?????? ? ??????? ?????? ??????? ????????? ??????? avarValues (???????? ??????????? ? ?????????? ???? Long):



lngLBound = LBound(avarValues)

lngRBound = RBound(avarValues)





?????? ? ????????? ???????


??? ??????? ? ????????? ??????? ? VBA ???????????? ???????? ?????? ????? ???????? ? ??????? ??????? ????? ?????????????? ?????????? ???????. ??? ???? ?????? ????????? ??????? ??????????? ????????. ???????? (??? ??????????? ? ??????????? ????????):



intNum = aintValues(16)

intNum = aintValues(12, 32, 3)





????????????? ?????????? Variant ??? ?????? ? ?????????


???? VBA ???????????? ????????????? ??? ?????? Variant, ???????? ????????? ?????????? ? ??? ?????? ? ?????????. ?????????? ????? ???? ????? ??????????? ??????. ? ?????????? ???? ???????? ? ?????????? Variant ??????????? ????? ???????. ????? ? ????? ?????????? ????? ???????? ???? ??? ? ??????? ??????????, ???? ??? ? ???????? (???????????? ?????? ? ?????????), ????????:



Dim aintValues(1 To 3) As Integer

Dim varArray

' ?????????? ??????? ?????????? ???? Variant

varArray = aintValues

' ?????? ? ????????? ???????

varArray(1) = 1

varArray(2) = 2

varArray(3) = 3


??????????? ?????????? ??????? ?????????? ???? Variant ?? ????? ???? ?????? ???????????? ? VBA ??? ???????? ???????? ? ??????? ? ?????????, ? ????? ??? ???????? ????????? ????????.

??? ??????????? ????, ???????? ?? ?????????? ???? Variant ??????, ????? ???????????? ??????? IsArray, ??????? ????????? ??????:



IsArray(??????????)


?????? ??????? ?????????? ???????? ???? Boolean: True ? ???? ? ?????????? ? ?????? ?????????? ?????????? ??????, ? False ? ? ????????? ??????.




????????????? ??????? Array ??? ?????????? ???????


? VBA ??????? ??????????? ???????? ?????????? ??????? ??????????. ??? ??????????? ??????????? ? ??????? Array. ?? ?????? ?????:



Array(??????_?????????)


? ???????? ?????????? ??????? ????????? ?????? ????????, ??????????? ???????. ?????????? ??? ??????????? ????????? ?????????? ??????, ??????????? ? ?????????? ???? Variant. ???? ???????? ?????? ????????????? ??????? Array:



Dim varArray

' ?????????? ??????? ??????????

varArray = Array(1, 2, 3, 4, 5)





?????????



????????? (??? ?? ????????? ? ?????????)?? ??? ???????, ??????? ????????? ??????? ???????????? ?????????? ????????? ?????? ????. ???????? ? ????????? ???????????????? ?????????? ??????, ??????? ????? ???? ?? ?????? ????? ???????? ? ?????????, ?? ? ???????? ?????????? ??? ??????? ????. ??? ???????????????? ?? VBA ????????? ????????? ???????????? ????? ?????. ????????, ? ????????? Workbooks ????? ?????????? ??? ????????? ?????? ?? ?????? Workbook ?????? ??????? ?????, ? ????????? Worksheets ? ??? ????????? ?????? ?? ?????? Worksheet ??????? ???????? ????? ? ?.??.

? VBA ????????? ??????????? ?? ?????????? ?????? Collection. ???????? ??????? Collection ????? ?? ?????????? ?? ???????? ??????? ??????? ????:



Dim col As New Collection


???



Dim col As Collection

Set col = New Collection





?????????? ?????????


??? ?????????? ????????? ? ????????? ?????????? ????? Add, ??????? ????????? ??????:



??????. Add ??????? [, ????][, ????????_?????][, ????????_?????]


???????????? ???????????? ?????????? ?????? Add ???????? ???????? ???????????? ????????. ??????? ????? ???? ?????????? ??? ?????????? ?????? ????, ????? ????, ????????????? ?????????????. ??? ?????????? ???????? ????? ??????? ????, ??????? ????? ?????????? ???????????????? ??????? ? ?????????. ???? ? ??? ????? ???????? ???? Variant.

?? ????????? ????? ???????? ??????????? ? ????? ?????????. ??? ????????? ??????? ?????????? ????????? ???????????? ????????? ????????_????? ? ????????_?????, ? ??????? ??????? ??????????? ????? ??? ???? ???? ????????, ????? ??????? ??? ????? ???????? ????? ???????? ????? ???????. ????????? ????????? ? ????????? ?????????? ? ???????.




????? ???????????????? ?????????.


????? ???????????? ??? ???????.

?????????? ??? ????? ???????, ????? ?????? ????????? ?????? (https://www.litres.ru/aleksey-gladkiy/excel-truki-i-effekty/) ?? ??????.

????????? ???????? ????? ????? ?????????? ?????? Visa, MasterCard, Maestro, ?? ????? ?????????? ????????, ? ?????????? ?????????, ? ?????? ??? ??? ???????, ????? PayPal, WebMoney, ??????.??????, QIWI ???????, ????????? ??????? ??? ?????? ??????? ??? ????????.



Если текст книги отсутствует, перейдите по ссылке

Возможные причины отсутствия книги:
1. Книга снята с продаж по просьбе правообладателя
2. Книга ещё не поступила в продажу и пока недоступна для чтения

Навигация